#ifndef WIDGET_H
#define WIDGET_H

#include <QMainWindow>
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QString>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QMainWindow
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void InitWidget();

public slots:
    // 按钮
    void on_LocalMusicBtn_clicked();         // 本地音乐
    void on_downloadBtn_clicked();           // 下载管理
    void on_CLoudBtn_clicked();              // 音乐网盘
    void on_collectBtn_clicked();            // 我的收藏
    void on_nextSongBtn_clicked();           // 下一首
    void on_playOrStopBtn_clicked();         // 播放或暂停
    void on_preSongBtn_clicked();            // 上一首
    void on_selectDirBtn_clicked();          // 选择目录
    void on_musicList_doubleClicked(const QModelIndex &index);     // 双击框框，实现换歌的功能

    // 其他功能：
    void musicPlayer(int);                          // 播放音乐
    void playerTimeValueChanged(qint64 value);      // 实时更改播放进度
    void setPosition(int);                          // 设置播放位置
    void findFile(const QString &path);             // 找到path里面，有多少mp3文件，放到fileNamesVec容器里面
    void updateDuration(qint64 duration);           // 根据播放进度，更新滑块
    void initStyle();

private:
    Ui::Widget *ui;
    QString path;
    QMediaPlayer *player;               //播放器
    QMediaPlaylist *playlist;           //存放音乐文件路径的列表
    QStringList *fileNamesList;         //存放名字的列表

    int num_music;
    int status = 0;                     // 当前播放状态，默认为不播放
    int currentIndex=0;					// 当前的播放位置
};
#endif // WIDGET_H
